package god;

import other.J13Default;

public class J13AccessModifier {
	
	private String name;
	
	public static void main(String[] args) {
		// J13AccessModifier : god package 
		// J12Company : god package
		// public 은 어디서든 호출 가능
		 J12ExCompany apple = new J12ExCompany();
	
		// default 접근 지정자가 선언된 클래스 호출
		// J13AccessModifier : god package 
		// CanISeeMe : other package
		// 따라서, CanISeeMe 클래스는 접근 불가
		// ( default 는 같은 package 내에서만 호출이 가능 )
		// CanISeeMe seema = new CanISeeMe();
		 
		 // private 접근 지정자로 선언된 필드 호출
		 // J13AccessModifier 에서 private 으로 선언한
		 // name을 am 객체를 통해 호출
		 J13AccessModifier am = new J13AccessModifier();
		 am.name = "태희";
		 
		 // private 접근 지정자로 선언된 필드 호출
		// private  = 같은 클래스 안에서만 호출 가능
		 // privateClass 에 private 으로 선언된
		 // name 변수는  J13AccessModifier 에서 호출 불가 - 해결책은 무엇인가?
		 PrivateClass ad = new PrivateClass();
		//  ad.name = "지현";
	}

}

class PrivateClass {
	// protected PrivateClass() {	}
	// private PrivateClass() {	}
	public PrivateClass() {	}
	private String name;
}